We use ceil() in measure(), so using it again will increase the
child's size whenever there is even a tiny rounding error.
This should also not make the size too small, because:
min = ceil(child_min * scale)
min / scale >= child_min
floor (min / scale) >= floor (child_min) = child_min
The last equality is because child_min is an integer.
Fixes #3137
if (hscale < 1.0)
{
g_assert (vscale == 1.0);
- child_width = MIN (100*width, ceil (width / hscale));
+ child_width = MIN (100 * width, floor (width / hscale));
child_height = height;
}
else if (vscale < 1.0)
{
child_width = width;
- child_height = MIN (100*height, ceil (height / vscale));
+ child_height = MIN (100 * height, floor (height / vscale));
}
else
{